package com.oa.modules.approvalsec1.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 流程节点表
 *
 * @author jiangwei
 * @email 785297226@qq.com
 * @date 2021-12-14 09:47:03
 */
@Data
@TableName("process_item")
public class ProcessItemEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 *
	 */
	@TableId(type= IdType.AUTO)
	@ApiModelProperty(value =  " ")
	private Integer id;
	/**
	 * 状态(0:是 1:否)
	 */
	@ApiModelProperty(value =  "状态(0:是 1:否) ")
	private Integer status;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value =  "创建时间 ")
	private Date createDate;
	/**
	 * 创建人id
	 */
	@ApiModelProperty(value =  "创建人id ")
	private String createOper;
	/**
	 * 修改时间
	 */
	@ApiModelProperty(value =  "修改时间 ")
	private Date updateDate;
	/**
	 * 最后修改人
	 */
	@ApiModelProperty(value =  "最后修改人 ")
	private String updateOper;
	/**
	 * 备注
	 */
	@ApiModelProperty(value =  "备注 ")
	private String remark;
	/**
	 * 进度id
	 */
	@ApiModelProperty(value =  "进度id ")
	private Integer scheduleId;
	/**
	 * 流程id
	 */
	@ApiModelProperty(value =  "流程id ")
	private Integer processId;
	/**
	 * 流程节点名称 接收节点名称
	 */
	@TableField(exist = false)
	private String name;
	/**
	 * 是否未父节点
	 */
	@TableField(exist = false)
	private Integer parentId;
	/**
	 * 当前状态
	 */
	@TableField(exist = false)
	private int statusNow;
    /**
     * 完成时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value =   "制证时间  ")
    @TableField(exist = false)
    private Date completionTime;

	/**
	 * 是否启用
	 */
	private Integer isEnabled = 0;

	/**
	 * 项目分类
	 */
	@TableField(exist = false)
	private int listType;

	/**
	 * 排序
	 */
	private Integer sort;

	@TableField(exist=false)
	private Integer reason;

	@TableField(exist = false)
	private String reasonThat;

	/**
	 * 子流程
	 */
	@TableField(exist = false)
	private List<ProcessItemEntity> children;

	@TableField(exist = false)
	private Integer parentState;


}
